forked from kubernetes/autoscaler
-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for extended resource definition in GCE MIG template #62
Open
zaymat
wants to merge
460
commits into
datadog-master-8.0
Choose a base branch
from
mayeul/add-extended-resource-support-in-gce
base: datadog-master-8.0
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Add support for extended resource definition in GCE MIG template #62
zaymat
wants to merge
460
commits into
datadog-master-8.0
from
mayeul/add-extended-resource-support-in-gce
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…e-fix GCE: Always add boot disk annotations to templates
feat: use non-root user for base-image
Adds a new flag `--balance-label` which allows users to balance between node groups exclusively via labels. This gives users the flexibility to specify the similarity logic themselves when --balance-similar-node-groups is in use.
…le-version update cloud-provider-azure version for azure imports
…oposal CA expander plugin proposal
…on_Doc Deduplicate Migration Doc from README.
…rom cloud provider that are still registered within Kubernetes"
IsCustomMachine didn't take machine types with family prefix (e.g. n2-custom-2-2816) into account.
Revert "Adding support for identifying nodes that have been deleted from cloud provider that are still registered within Kubernetes"
CA: GCE: implement GetMachineFamily, fix IsCustomMachine
This ensured that access to replicas during scale down operations were never stale by accessing the API server kubernetes#3104. This honoured that behaviour while moving to unstructured client kubernetes#3312. This regressed that behaviour while trying to reduce the API server load kubernetes#4443. This put back the never stale replicas behaviour at the cost of loading back the API server kubernetes#4634. Currently on e.g a 48 minutes cluster it does 1.4k get request to the scale subresource. This PR tries to satisfy both non stale replicas during scale down and prevent the API server from being overloaded. To achieve that it lets targetSize which is called on every autoscaling cluster state loop from come from cache. Also note that the scale down implementation has changed https://github.com/kubernetes/autoscaler/commits/master/cluster-autoscaler/core/scaledown.
…-updater-flags chore: Document params for VPA recommender & updater (similar to CA's FAQs)
…as-exoscale-documentation exoscale provider: Update cluster autoscaler documentation
…entation Fix/examples documentation
this change removes some unused values and adjusts the names in the unit tests to better reflect usage.
cleanup unused constants in clusterapi provider
Signed-off-by: Vishal Anarse <[email protected]>
Fix race condition in scale down test
…mple-spec Update the example spec of civo cloudprovider
Support for DirectX Devices
Updated the golang version for the GitHub workflows.
Containers in recommendation can be different from recommendations in pod: - A new container can be added to a pod. At first there will be no recommendation for the container - A container can be removed from pod. For some time recommendation will contain recommendation for the old container - Container can be renamed. Then there will be recommendation for container under its old name. Add tests for what VPA does in those situations.
Containers in recommendation can be different from recommendations in pod: - A new container can be added to a pod. At first there will be no recommendation for the container - A container can be removed from pod. For some time recommendation will contain recommendation for the old container - Container can be renamed. Then there will be recommendation for container under its old name. Add tests for what VPA does in those situations, when limit range exists.
Remove units for default boot disk size
add example for multiple recommenders
…pod-recommendation-mismatch E2e test admission pod recommendation mismatch
[gce]: skip instances on validation error
CA - AWS - Instance List Update 2022-09-16
…ls-insecure magnum: add an option to create insecure TLS connections
…y_and_Preemption_links Corrected the links for Priority in k8s API and Pod Preemption in k8s.
zaymat
force-pushed
the
mayeul/add-extended-resource-support-in-gce
branch
2 times, most recently
from
October 10, 2022 15:09
8ec94a5
to
17f8faf
Compare
Fixed gofmt error.
Don't break scale up with priority expander config
zaymat
force-pushed
the
mayeul/add-extended-resource-support-in-gce
branch
from
October 11, 2022 10:03
17f8faf
to
15bb504
Compare
This commit adds the possibility to define extended resources for a node group on GCE, so that the cluster-autoscaler can account for them when taking scaling decisions. This is done through the `extended_resources` key inside the AUTOSCALER_ENV_VARS variable set on a MIG template. Signed-off-by: Mayeul Blanzat <[email protected]>
zaymat
force-pushed
the
mayeul/add-extended-resource-support-in-gce
branch
from
October 11, 2022 12:34
15bb504
to
e286a95
Compare
…add more tests * Malformed extended resource definition should not fail the template building function. Instead, log the error and ignore extended resources * Remove useless existence check * Add tests around the extractExtendedResourcesFromKubeEnv function * Add a test case to verify that malformed extended resource definition does not fail the template build function Signed-off-by: Mayeul Blanzat <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Signed-off-by: Mayeul Blanzat [email protected]
Which component this PR applies to?
cluster-autoscaler
What type of PR is this?
/kind feature
What this PR does / why we need it:
This PR adds support for extended resources in GCE MIG template.
Today, the
cluster-autoscaler
on GCE only supports scaling decisions based the following resources: CPU, Memory, EphemeralStorage and GPU. However, Kubernetes allows defining an arbitrary number of resources through the Extended Resource API. This can be useful when your instances have special resources that you want to share between your pods. One example that I can think of isnetwork bandwidth
, which cannot be requested by pods except through extended resources.Some other implementations of the
CloudProvider
interface, like AWS or Azure, already support scaling decisions based on extended resources.This PR adds the possibility to define extended resources for a node group on GCE, so that the cluster-autoscaler can account for them when taking scaling decisions. This is done through the
extended_resources
key inside the AUTOSCALER_ENV_VARS variable set on a MIG template.Example:
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.: